#install.packages("ggpubr")
#install.packages("ggfortify")
library(ggpubr)
library(dplyr)
library(lattice)
library(survival)
library(Formula)
library(ggplot2)
library(Hmisc)
library(ggpubr)
library(tidyverse)
library(Hmisc)
library(corrplot)
library(dendextend)
library(ggfortify)
Under abiotic stress such as salinity, several morphological and physiological parameters of plants are affected. In function of their location, plants from the same species could exhibit difference tolerance to abiotic stress. In the study we will review, 25 accessions of E. sativa from different regions of Pakistan were analysed. Each accession have been separated into two groups receiving different treatment: first group is the control and the second underwent salt stress (150 mM NaCl) during two weeks. Following that 19 morpho-physiological traits were measured.
The data was obtained from the paper "Evaluation of salt tolerance in Eruca sativa accessions based on morpho-physiological traits" (Afsar et. al 2020) https://peerj.com/articles/9749/
Our main objectives are:
Main hypothesis:
First we had to download and tidy the data. Once we have the table containing the mean values of variables for each accessions and treatments, we tested the normality of variables with shapiro.test. Then, we analysed if there is a significant difference between salt-treated and control plants for each variable. If there was normality, the analysis was performed with anova (only one variable), otherwise we used kruskal-Wallis test.
Additionaly, we did a summary table for the mean and sd of treated and control plant.
We created another table with data converted into salt tolerance index (STI): ratio of treated plant values to control.
Then, we computed the MVF table using the formula provided in the article: \(Xp=[(X−Xmin)/(Xmax−Xmin)]×100%\). For the traits inversely related to salt tolerance (Electrolyte leakage, Na, K, Ca) we used the second formula: \(Xp=[1−(X−Xmin)/(Xmax−Xmin)]×100%\) For calculating MFV, we used the same formula, however we used the min and max of the mean STI.
We performed the Principal Component Analysis on the MFV values of all the variables, except for RWC and ICO2 because they did not show significant difference between treatment and control. We used 8 highest ranked variables from the results: PH, SL, RL, NL, DW, FW, LA, K_Na.
We computed the mean of MFV from MFV values of the variables above. With the results, we ranked the accessions from highly tolerant to highly sensitive.
We started pearson correlation but we still need to finish it. We started doing peason correlation using MFV values which results are very similar to the article. But we also computed on the raw data because we think it has more sence.
We still need to make the dendogram, add map with accession and check for correlation between altitude and MFV ranking.
##Calling for the libraries to transform and tidy the data
library(dplyr)
library(tidyr)
##Downloading the data and transforming it
#install.packages("ggplot2", dependencies = TRUE)
library(ggplot2)
#install.packages("readxl")
library(readxl)
# downloading excel sheet from internet and storing it into Excel object
Excel <- "https://dfzljdn9uc3pi.cloudfront.net/2020/9749/1/Raw_data_Afsar_et_al.%2C_2020-PeerJ_20.5.2020.xlsx"
# creating the folder datafile if it doesn't exist
D <- "data"
if (!dir.exists(D)) dir.create(D)
f <- paste0 (D, "/data.xlsx")
# downloading excel into the file datafile under the name data.xlsx
download.file(Excel, f, mode="wb")
# getting the name of excel sheets
excel.sheet <- excel_sheets(f)
# created a list with the 4 sheet table from excel
X <- list()
for (i in excel.sheet){
X[[i]] <- as.data.frame(read_xlsx(f,i))
}
# organise column names and fill the first 2 columns
for(i in names(X)){
names(X[[i]])[1:3] <- c("Number", "Code", "Treat_Contr")
X[[i]] <- X[[i]][-1,]
#X[[i]] <- X[[i]][,-1] - deletion of numbers
X[[i]] <- fill(X[[i]], 1:2)
}
#deleting the accession #7 and #16 from Morphological traits,
#Weight_ion, Chloro_c, because there is no data for that accessions in the Gas_e
#for(i in names(X)){
# X[[i]] <- X[[i]][!X[[i]]$Code == "Es-7", ]
# X[[i]] <- X[[i]][!X[[i]]$Code == "Es-16", ]
#}
#transforming columns data format
for (i in seq_along(X)){
X[[i]][2:3] <- lapply(X[[i]][2:3], as.factor)
X[[i]][-(2:3)] <- lapply(X[[i]][-(2:3)], as.numeric)
}
# creating data frames from different xlsx sheets
Morpho_t <- X$`Morphological traits`
Weight_ion <- X$`FW DW RWC Ions EL`
Chloro_c <- X$`Chlorophyll content`
Gas_e <- X$`Gas Exchange parameters`
#Changing names of the columns for more convinient use
names(Morpho_t)[4:8] <- c('Shoot_Length',
'Root_Length',
'Plant_Height',
'Number_Leaves',
'Leaf_Area')
names(Chloro_c)[4] <- c('Chlorophyll_Content')
names(Weight_ion) [4:12] <- c('Fresh_Weight',
'Dry_Weight',
'RWC',
'Na',
'K',
'Ca',
'Mg',
'K_Na',
'Electrolyte_Leakage')
names(Gas_e) [4:7] <- c('Photsynthesis_Rate',
'Intercellular_CO2',
'Transpiration_Rate',
'Stomatal_Conductance')
# adding NA cells into the missing 7th and 16th accession
# creating a data frame with the missing data first
Gas_e_miss <- data.frame (Number = rep(c(7, 16), each = 8),
Code = rep(c("Es-7", "Es-16"), each = 8),
Treat_Contr = rep(c("Treatment", "Control",
"Treatment", "Control"), each = 4),
Photsynthesis_Rate = rep(NA, 16),
Intercellular_CO2 = rep(NA, 16),
Transpiration_Rate = rep(NA, 16),
Stomatal_Conductance = rep(NA, 16))
#changing the numbers in "Number" column
Gas_e$Number <- replace(Gas_e$Number, , rep(c(1:6, 8:15, 17:25), each = 8))
# adding NA cells into the missing 7th and 16th accession
if (!(is.element('Es-7', Gas_e$Code))) Gas_e <- rbind(Gas_e, Gas_e_miss)
#Sorting the variables according to Number
Gas_e <- Gas_e[order(Gas_e$Number),]
#Rewriting row names to correspond the ordered data
row.names(Gas_e) <- c(1:200)
# downloading data for the location of accessions
word <- "https://dfzljdn9uc3pi.cloudfront.net/2020/9749/1/Table_S1.docx"
w <- paste0(D, "/location.docx")
download.file(word, w, mode="wb")
#creating data frame for the location of accessions
#install.packages("docxtractr")
library(docxtractr)
Acc_loc <- docx_extract_all_tbls(read_docx(w, track_changes = NULL),
guess_header = TRUE, preserve = FALSE,
trim = TRUE)
Acc_loc <- as.data.frame(Acc_loc)
#removing m from Elevation column
Acc_loc$Elevation <- sub(' m', '', Acc_loc$Elevation)
#transforming data in the accession_loc
Acc_loc[c(1,6)] <- lapply(Acc_loc[c(1,6)], as.numeric)
Acc_loc[-c(1,6)] <- lapply(Acc_loc[-c(1,6)], as.factor)
#In order to fit the length of this table to the length of the ultimate table
#we need to double all the rows
Acc_loc_double <- Acc_loc[rep(1:25, each = 2), ]
###
#experimenting with mapping the data
#map <- data.frame(Code = Acc_loc$Code,
# Latitude = Acc_loc$Latitude,
# Longitude = Acc_loc$Longitude)
#m <- ggplot(map, aes(x = Latitude,
# y = Longitude))
#m +
# geom_jitter() +
# geom_label(aes(label = Code))
# create summary table for morphological trait
a <- Morpho_t %>%
group_by(Number, Code, Treat_Contr) %>%
summarise(Shoot_Length = mean(Shoot_Length),
Root_Length = mean(Root_Length),
Plant_Height = mean(Plant_Height),
Number_Leaves = mean(Number_Leaves),
Leaf_Area = mean(Leaf_Area))
# remove NA values from Weight_ion table
Weight_ion <- na.omit(Weight_ion)
#Create summary table for Weight ion
b <- Weight_ion %>%
group_by(Number, Code, Treat_Contr) %>%
summarise(Fresh_Weight= mean(Fresh_Weight),
Dry_Weight= mean(Dry_Weight),
RWC = mean(RWC),
Na =mean(Na),
K =mean(K),
Ca =mean(Ca),
Mg= mean(Mg),
K_Na =mean(K_Na),
Electrolyte_Leakage= mean(Electrolyte_Leakage))
#take only the columns number 4 to 12 to avoid repetition of number, code and treatment
b <- b[4:12]
#Create summary table for Weight_ion
c <- Chloro_c %>%
group_by(Number, Code, Treat_Contr) %>%
summarise(Chlorophyll_Content = mean(Chlorophyll_Content))
#take only the columns number 4 to avoid repetition of number, code and treatment
c <- c[4]
#Create summary table for Gas_e
d <- Gas_e %>%
group_by(Number, Code, Treat_Contr) %>%
summarise(Photsynthesis_Rate= mean(Photsynthesis_Rate),
Intercellular_CO2= mean(Intercellular_CO2),
Transpiration_Rate= mean(Transpiration_Rate),
Stomatal_Conductance=mean(Stomatal_Conductance))
#take only the columns number 4 to 7 to avoid repetition of number, code and treatment
d <- d[4:7]
#add Acc_loc data to the table
e <- Acc_loc_double
e <- e[6]
#create data frame with all the summarized tables
table <- data.frame(a, b, c, d, e)
knitr::kable(table, caption = "Table 1. Mean values of variables for each accessions and treatments", align="c" , digits = round(2))
| Number | Code | Treat_Contr | Shoot_Length | Root_Length | Plant_Height | Number_Leaves | Leaf_Area | Fresh_Weight | Dry_Weight | RWC | Na | K | Ca | Mg | K_Na | Electrolyte_Leakage | Chlorophyll_Content | Photsynthesis_Rate | Intercellular_CO2 | Transpiration_Rate | Stomatal_Conductance | Elevation | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | Es-1 | Control | 1.89 | 2.40 | 4.16 | 4.20 | 0.05 | 343.10 | 20.93 | 75.84 | 4.60 | 8.72 | 4.02 | 2.74 | 1.90 | 51.07 | 16.88 | 12.41 | 286.0 | 3.16 | 0.22 | 14 |
| 1.1 | 1 | Es-1 | Treatment | 1.69 | 1.54 | 3.08 | 2.60 | 0.03 | 171.97 | 18.06 | 89.81 | 21.50 | 11.55 | 3.51 | 2.54 | 0.54 | 48.42 | 13.65 | 4.62 | 245.5 | 1.64 | 0.08 | 14 |
| 2 | 2 | Es-2 | Control | 2.83 | 1.93 | 4.99 | 4.40 | 0.08 | 173.13 | 11.97 | 71.60 | 6.04 | 8.81 | 4.28 | 3.49 | 1.46 | 61.86 | 21.17 | 2.74 | 271.5 | 0.90 | 0.04 | 17 |
| 2.1 | 2 | Es-2 | Treatment | 1.54 | 1.27 | 2.53 | 2.80 | 0.04 | 58.84 | 9.00 | 91.74 | 23.86 | 12.99 | 3.74 | 2.83 | 0.55 | 62.49 | 15.20 | 1.78 | 288.5 | 1.12 | 0.04 | 17 |
| 3 | 3 | Es-3 | Control | 3.51 | 2.35 | 4.62 | 4.40 | 0.16 | 321.27 | 15.93 | 76.90 | 7.44 | 9.59 | 5.69 | 3.79 | 1.31 | 64.60 | 18.67 | 17.00 | 290.5 | 4.18 | 0.31 | 579 |
| 3.1 | 3 | Es-3 | Treatment | 0.69 | 0.45 | 1.19 | 1.33 | 0.01 | 32.76 | 3.93 | 89.22 | 17.00 | 14.46 | 5.74 | 3.55 | 0.85 | 78.67 | 13.20 | 1.34 | 258.0 | 0.56 | 0.02 | 579 |
| 4 | 4 | Es-4 | Control | 3.56 | 2.75 | 6.05 | 4.60 | 0.10 | 347.55 | 19.72 | 96.03 | 7.08 | 6.94 | 2.69 | 5.11 | 0.98 | 60.97 | 16.90 | 13.00 | 279.0 | 3.55 | 0.21 | 537 |
| 4.1 | 4 | Es-4 | Treatment | 2.07 | 1.98 | 3.83 | 3.80 | 0.04 | 165.95 | 12.45 | 96.34 | 22.16 | 9.74 | 2.92 | 3.88 | 0.44 | 65.64 | 15.88 | 3.40 | 273.0 | 1.38 | 0.06 | 537 |
| 5 | 5 | Es-5 | Control | 2.48 | 1.65 | 4.51 | 4.40 | 0.07 | 222.80 | 12.93 | 91.39 | 9.97 | 12.06 | 5.29 | 7.24 | 1.21 | 49.65 | 23.72 | 9.11 | 280.0 | 3.45 | 0.20 | 523 |
| 5.1 | 5 | Es-5 | Treatment | 1.08 | 0.97 | 2.09 | 2.00 | 0.06 | 170.20 | 10.83 | 94.64 | 27.53 | 13.02 | 4.01 | 4.89 | 0.47 | 65.76 | 16.82 | 2.62 | 312.5 | 1.94 | 0.05 | 523 |
| 6 | 6 | Es-6 | Control | 2.01 | 1.48 | 3.55 | 4.60 | 0.08 | 753.50 | 32.50 | 98.75 | 10.69 | 12.13 | 3.12 | 5.12 | 1.14 | 59.58 | 17.08 | 4.96 | 281.5 | 3.88 | 0.20 | 186 |
| 6.1 | 6 | Es-6 | Treatment | 1.23 | 1.04 | 2.18 | 3.80 | 0.03 | 235.50 | 10.32 | 95.90 | 25.12 | 14.73 | 2.99 | 3.84 | 0.59 | 58.45 | 12.58 | 1.22 | 315.0 | 1.03 | 0.03 | 186 |
| 7 | 7 | Es-7 | Control | 1.95 | 2.19 | 4.08 | 4.00 | 0.08 | 323.13 | 10.60 | 97.49 | 13.15 | 16.65 | 3.98 | 3.69 | 1.27 | 46.84 | 26.30 | NA | NA | NA | NA | 159 |
| 7.1 | 7 | Es-7 | Treatment | 1.49 | 1.15 | 2.69 | 2.40 | 0.06 | 96.48 | 8.52 | 96.00 | 30.73 | 16.97 | 3.04 | 2.71 | 0.55 | 50.04 | 31.32 | NA | NA | NA | NA | 159 |
| 8 | 8 | Es-8 | Control | 2.97 | 1.80 | 4.66 | 5.00 | 0.07 | 245.13 | 11.20 | 94.58 | 15.59 | 17.60 | 7.78 | 9.49 | 1.13 | 69.75 | 9.80 | 2.86 | 300.5 | 1.57 | 0.07 | 97 |
| 8.1 | 8 | Es-8 | Treatment | 0.92 | 1.05 | 1.98 | 2.40 | 0.04 | 76.17 | 5.59 | 92.02 | 31.90 | 21.97 | 6.39 | 8.85 | 0.69 | 83.50 | 6.93 | 1.54 | 333.0 | 1.30 | 0.05 | 97 |
| 9 | 9 | Es-9 | Control | 2.42 | 2.23 | 4.65 | 4.00 | 0.07 | 60.59 | 3.48 | 91.56 | 16.21 | 33.40 | 8.99 | 8.11 | 2.07 | 50.83 | 27.40 | 14.01 | 255.0 | 3.46 | 0.23 | 355 |
| 9.1 | 9 | Es-9 | Treatment | 1.71 | 1.39 | 3.10 | 3.00 | 0.04 | 50.85 | 2.72 | 90.26 | 31.85 | 41.31 | 13.46 | 5.33 | 1.30 | 56.62 | 31.32 | 2.46 | 251.0 | 0.68 | 0.03 | 355 |
| 10 | 10 | Es-10 | Control | 1.38 | 1.61 | 3.04 | 5.00 | 0.08 | 435.07 | 16.00 | 96.41 | 9.82 | 12.51 | 4.69 | 3.44 | 1.30 | 55.62 | 18.52 | 8.80 | 281.5 | 3.48 | 0.17 | 840 |
| 10.1 | 10 | Es-10 | Treatment | 1.06 | 0.75 | 1.89 | 2.20 | 0.07 | 177.52 | 7.18 | 94.73 | 35.98 | 16.71 | 8.52 | 2.91 | 0.46 | 56.00 | 13.00 | 2.51 | 258.5 | 1.23 | 0.06 | 840 |
| 11 | 11 | Es-11 | Control | 2.06 | 1.89 | 3.99 | 4.40 | 0.06 | 205.72 | 7.28 | 94.66 | 15.82 | 18.40 | 9.79 | 4.41 | 1.17 | 54.23 | 14.32 | 3.29 | 290.0 | 1.65 | 0.07 | 355 |
| 11.1 | 11 | Es-11 | Treatment | 1.27 | 1.13 | 2.33 | 3.60 | 0.05 | 144.61 | 6.43 | 95.90 | 18.54 | 20.71 | 11.00 | 4.25 | 1.12 | 54.21 | 9.35 | 1.16 | 329.0 | 0.63 | 0.03 | 355 |
| 12 | 12 | Es-12 | Control | 1.78 | 1.66 | 3.44 | 4.40 | 0.06 | 247.10 | 10.80 | 94.75 | 16.64 | 14.60 | 4.02 | 6.07 | 0.88 | 57.91 | 15.67 | 9.07 | 255.5 | 3.14 | 0.15 | 178 |
| 12.1 | 12 | Es-12 | Treatment | 1.37 | 1.22 | 2.36 | 3.00 | 0.02 | 193.27 | 9.27 | 95.20 | 20.31 | 11.98 | 7.14 | 5.51 | 0.59 | 59.02 | 14.37 | 3.31 | 281.5 | 1.84 | 0.06 | 178 |
| 13 | 13 | Es-13 | Control | 2.73 | 2.50 | 5.34 | 5.00 | 0.07 | 449.30 | 10.90 | 96.10 | 10.56 | 15.25 | 5.45 | 4.46 | 1.44 | 47.15 | 15.00 | 14.80 | 294.0 | 3.64 | 0.20 | 140 |
| 13.1 | 13 | Es-13 | Treatment | 1.97 | 1.44 | 3.41 | 4.00 | 0.04 | 176.71 | 9.17 | 94.59 | 27.91 | 15.77 | 8.00 | 3.15 | 0.57 | 47.84 | 9.08 | 2.50 | 223.5 | 0.68 | 0.03 | 140 |
| 14 | 14 | Es-14 | Control | 2.29 | 2.41 | 4.79 | 5.60 | 0.08 | 426.00 | 14.00 | 97.35 | 12.85 | 13.03 | 4.43 | 4.19 | 1.02 | 49.72 | 24.88 | 8.83 | 294.5 | 2.58 | 0.20 | 190 |
| 14.1 | 14 | Es-14 | Treatment | 1.23 | 1.49 | 2.80 | 3.20 | 0.03 | 165.56 | 8.61 | 94.23 | 35.57 | 18.91 | 10.12 | 3.73 | 0.53 | 55.17 | 17.52 | 3.18 | 274.5 | 1.25 | 0.05 | 190 |
| 15 | 15 | Es-15 | Control | 2.07 | 2.42 | 4.38 | 4.75 | 0.05 | 250.90 | 11.80 | 95.26 | 15.84 | 12.65 | 4.25 | 4.53 | 0.80 | 59.46 | 16.55 | 5.16 | 315.5 | 1.93 | 0.10 | 169 |
| 15.1 | 15 | Es-15 | Treatment | 0.35 | 0.97 | 1.64 | 1.60 | 0.01 | 36.60 | 3.60 | 91.67 | 21.56 | 16.92 | 5.76 | 3.12 | 0.78 | 62.24 | 9.63 | 1.37 | 215.5 | 0.26 | 0.01 | 169 |
| 16 | 16 | Es-16 | Control | 2.42 | 2.31 | 4.65 | 4.60 | 0.07 | 77.00 | 3.67 | 90.82 | 10.68 | 13.63 | 5.49 | 3.87 | 1.30 | 49.17 | 21.22 | NA | NA | NA | NA | 268 |
| 16.1 | 16 | Es-16 | Treatment | 0.69 | 0.45 | 1.23 | 1.33 | 0.01 | 33.03 | 3.01 | 88.90 | 22.88 | 19.37 | 12.14 | 2.83 | 0.84 | 52.06 | 12.67 | NA | NA | NA | NA | 268 |
| 17 | 17 | Es-17 | Control | 2.44 | 2.23 | 4.69 | 5.00 | 0.08 | 210.20 | 10.40 | 94.25 | 17.88 | 17.13 | 7.26 | 6.26 | 0.96 | 60.17 | 15.18 | 1.14 | 340.0 | 1.06 | 0.05 | 207 |
| 17.1 | 17 | Es-17 | Treatment | 0.60 | 0.45 | 1.23 | 1.40 | 0.02 | 36.28 | 3.00 | 90.90 | 47.06 | 26.70 | 22.98 | 4.59 | 0.58 | 63.78 | 9.22 | 0.76 | 315.0 | 0.37 | 0.03 | 207 |
| 18 | 18 | Es-18 | Control | 3.05 | 2.90 | 5.87 | 5.20 | 0.07 | 307.93 | 8.67 | 96.56 | 24.72 | 22.81 | 4.89 | 5.05 | 0.93 | 62.19 | 9.62 | 2.84 | 306.0 | 1.40 | 0.07 | 162 |
| 18.1 | 18 | Es-18 | Treatment | 0.60 | 0.46 | 1.16 | 2.00 | 0.01 | 41.04 | 2.80 | 88.61 | 38.07 | 25.59 | 13.62 | 3.84 | 0.68 | 68.11 | 12.50 | 1.43 | 349.5 | 1.00 | 0.03 | 162 |
| 19 | 19 | Es-19 | Control | 2.25 | 2.18 | 4.43 | 3.40 | 0.04 | 104.92 | 5.34 | 92.96 | 12.51 | 18.37 | 2.61 | 5.99 | 1.47 | 57.77 | 18.75 | 2.16 | 287.0 | 3.64 | 0.20 | 186 |
| 19.1 | 19 | Es-19 | Treatment | 1.23 | 1.49 | 2.80 | 3.20 | 0.03 | 70.57 | 4.08 | 94.69 | 32.73 | 22.20 | 6.84 | 3.78 | 0.68 | 59.43 | 16.52 | 1.62 | 293.0 | 0.56 | 0.04 | 186 |
| 20 | 20 | Es-20 | Control | 1.99 | 2.34 | 4.33 | 3.00 | 0.04 | 42.25 | 3.10 | 88.38 | 13.68 | 26.53 | 13.48 | 6.81 | 1.94 | 62.26 | 22.22 | 12.70 | 238.0 | 3.00 | 0.16 | 186 |
| 20.1 | 20 | Es-20 | Treatment | 0.35 | 0.97 | 2.80 | 1.60 | 0.01 | 30.15 | 2.60 | 91.38 | 48.28 | 33.45 | 21.62 | 4.74 | 0.72 | 65.09 | 14.67 | 1.75 | 215.5 | 0.46 | 0.02 | 186 |
| 21 | 21 | Es-21 | Control | 2.03 | 2.68 | 4.72 | 3.20 | 0.04 | 90.56 | 4.18 | 94.99 | 24.90 | 24.81 | 8.28 | 10.54 | 1.00 | 46.49 | 9.95 | 12.18 | 274.0 | 4.14 | 0.25 | 171 |
| 21.1 | 21 | Es-21 | Treatment | 0.60 | 0.46 | 1.78 | 2.00 | 0.02 | 61.55 | 3.25 | 95.42 | 44.92 | 30.38 | 12.05 | 5.82 | 0.68 | 48.78 | 16.90 | 2.58 | 265.5 | 1.23 | 0.06 | 171 |
| 22 | 22 | Es-22 | Control | 1.99 | 2.47 | 4.33 | 3.40 | 0.04 | 48.30 | 2.02 | 96.41 | 16.72 | 12.71 | 9.38 | 5.53 | 0.76 | 59.96 | 18.98 | 4.26 | 259.0 | 1.32 | 0.06 | 170 |
| 22.1 | 22 | Es-22 | Treatment | 1.22 | 0.78 | 2.13 | 2.00 | 0.04 | 35.92 | 1.32 | 95.93 | 28.21 | 15.63 | 13.33 | 4.66 | 0.56 | 71.26 | 8.02 | 1.24 | 275.0 | 0.82 | 0.03 | 170 |
| 23 | 23 | Es-23 | Control | 1.73 | 1.80 | 3.53 | 3.00 | 0.05 | 138.11 | 4.17 | 94.44 | 17.41 | 10.94 | 8.64 | 3.17 | 0.63 | 63.71 | 21.50 | 5.04 | 246.0 | 1.56 | 0.06 | 210 |
| 23.1 | 23 | Es-23 | Treatment | 0.63 | 0.53 | 1.17 | 2.00 | 0.03 | 37.66 | 3.38 | 90.88 | 26.89 | 16.58 | 9.95 | 2.30 | 0.62 | 66.40 | 8.83 | 0.78 | 264.0 | 0.66 | 0.03 | 210 |
| 24 | 24 | Es-24 | Control | 1.40 | 1.41 | 2.84 | 3.00 | 0.04 | 107.80 | 7.67 | 90.98 | 13.83 | 13.91 | 6.39 | 14.25 | 1.01 | 61.26 | 14.22 | 4.47 | 276.5 | 1.52 | 0.06 | 209 |
| 24.1 | 24 | Es-24 | Treatment | 0.75 | 0.49 | 1.26 | 1.60 | 0.03 | 66.41 | 3.15 | 89.62 | 28.33 | 19.10 | 7.40 | 5.60 | 0.68 | 67.51 | 9.42 | 0.90 | 361.0 | 0.61 | 0.03 | 209 |
| 25 | 25 | Es-25 | Control | 2.39 | 2.74 | 5.18 | 3.00 | 0.04 | 95.34 | 5.29 | 93.99 | 15.45 | 13.94 | 5.81 | 11.36 | 0.91 | 50.58 | 19.83 | 2.27 | 266.0 | 0.99 | 0.06 | 151 |
| 25.1 | 25 | Es-25 | Treatment | 1.17 | 0.64 | 1.84 | 2.00 | 0.04 | 39.93 | 4.31 | 90.57 | 41.97 | 26.23 | 11.76 | 9.95 | 0.62 | 48.61 | 12.95 | 0.71 | 350.5 | 0.38 | 0.03 | 151 |
There is a statistical difference between control and treatment for all morphological trait
Shoot length (SL): Shoot length is significantly reduced in the salt-stressed plants compared with the control (p < 0.05). The mean value for SL in salt-stressed plants is 1.10 ± 0.48 and 2.30 ± 0.56 for control plants. SL stress index of accessions varied from 16.73 to 89.12
Root length (RL): Root length is significantly reduced in the salt-stressed plants compared with the control (p < 0.05). The mean value for RL in salt-stressed plants is 0.98 ± 0.43 and 2.17 ± 0.42 for control plants. RL stress index of accessions varied from 15.91 to 73.53
Plant height (PH): Plant height is significantly reduced in the salt-stressed plants compared with the control (p < 0.05). The mean value for PH in salt-stressed plants is 2.18 ± 0.76 and 4.43 ± 0.77 for control plants. PH stress index of accessions varied from 19.83 to 74.07
Number of leaves(NL): Number of leaves is significantly reduced in the salt-stressed plants compared with the control (p < 0.05). The mean value for NL in salt-stressed plants is 2.43 ± 0.82 and 4.22 ± 0.78 for control plants. NL stress index of accessions varied from 28.00 to 94.12
Leaf area (LA): Leaf area is significantly reduced in the salt-stressed plants compared with the control (p < 0.05). The mean value for LA in salt-stressed plants is 0.03 ± 0.02 and 0.07 ± 0.03 for control plants. LA stress index of accessions varied from 75.95 to 100
spm <- numeric()
nor_spm <- c()
for(i in names(Morpho_t[4:8])) {
an1 <- aov(Morpho_t[, i] ~ Morpho_t$Treat_Contr)
spm[i] <- shapiro.test(an1$residuals)$p.value
nor_spm <- c(nor_spm, ifelse (spm[i] <= 0.05, "False", "True"))
}
spm_table <- data.frame ("P-value" = spm, "Normality" = nor_spm)
knitr::kable(spm_table, caption = "Table 2. Shapiro test results for morphological traits", align="c")
| P.value | Normality | |
|---|---|---|
| Shoot_Length | 0.0000307 | False |
| Root_Length | 0.0187623 | False |
| Plant_Height | 0.0315918 | False |
| Number_Leaves | 0.0000000 | False |
| Leaf_Area | 0.0000000 | False |
#install.packages("ggpubr")
library(ggpubr)
for (i in names(Morpho_t[4:8])) {
bmorpho <- ggboxplot(Morpho_t,
x = "Treat_Contr",
y = names(Morpho_t[i]),
color = names(Morpho_t[3]),
palette = c("blue", "red"),
add = "jitter") +
stat_compare_means(data = Morpho_t, method = "kruskal.test", label.x.npc = "center",
label.y.npc = "top")
print(bmorpho)
}
blabla
blabla
blabla
blabla
blabla
Fresh weight (FW): Fresh weight is significantly reduced in the salt-stressed plants compared with the control (p < 0.05). The mean value for FW in salt-stressed plants 96.22 ± 66.00 and 241.06 ± 164.75 for control plants. FW stress index of accessions varied from 10.20 to 83.93
Dry weight (DW): Dry weight is significantly reduced in the salt-stressed plants compared with the control (p < 0.05). The mean value for DW in salt-stressed plants is 6.26 ± 4.00 and 10.58 ± 6.89 for control plants. DW stress index of accessions varied from 24.67 to 88.26
spb <- numeric()
nor_spb <- c()
for(i in names(Weight_ion[4:5])) {
an2 <- aov(Weight_ion[, i] ~ Weight_ion$Treat_Contr)
spb[i] <- shapiro.test(an2$residuals)$p.value
nor_spb <- c(nor_spb, ifelse (spb[i] <= 0.05, "False", "True"))
}
spb_table <- data.frame ("P-value" = spb, "Normality" = nor_spb)
knitr::kable(spb_table, caption = "Table 3. Shapiro test results for biomass", align="c")
| P.value | Normality | |
|---|---|---|
| Fresh_Weight | 3e-07 | False |
| Dry_Weight | 7e-07 | False |
for (i in names(Weight_ion[c(6,12)])) {
bwei2 <- ggboxplot(Weight_ion,
x = "Treat_Contr",
y = names(Weight_ion[i]),
color = names(Weight_ion[3]),
palette = c("blue", "red"),
add = "jitter") +
stat_compare_means(data = Weight_ion, method = "kruskal.test", label.x.npc = "center",
label.y.npc = "top")
print(bwei2)
}
Relative water content (RWC): Relative water content is not significantly different in the salt-stressed plants compared with the control (p > 0.05). The mean value for RWC in salt-stressed plants 92.77 X ± 2.65 and 92.10 ± 7.00 for control plants.
Electrolyte leakage (EL): Electrolyte leakage is significantly increased in the salt-stressed plants compared with the control (p < 0.05). The mean value for EL in salt-stressed plants is 60.60 ± 9.32 and 56.51 ± 6.48 for control plants.
Chlorophyll content (CC): Chlorophyll content is significantly reduced in the salt-stressed plants compared with the control (p < 0.05). The mean value for CC in salt-stressed plants is 14.06 ± 6.02 and 18.17 ± 4.79 for control plants.
spe <- numeric()
nor_spe <- c()
for(i in names(Weight_ion[c(6,12)])) {
an3 <- aov(Weight_ion[, i] ~ Weight_ion$Treat_Contr)
spe[i] <- shapiro.test(an3$residuals)$p.value
nor_spe <- c(nor_spe, ifelse (spe[i] <= 0.05, "False", "True"))
}
spe_table <- data.frame ("P-value" = spe, "Normality" = nor_spe)
nor_spc <- c()
an4 <- aov(Chloro_c$Chlorophyll_Content ~ Chloro_c$Treat_Contr)
spc <- shapiro.test(an4$residuals)$p.value
nor_spc <- c(nor_spc, ifelse (spc <= 0.05, "False", "True"))
spc_table <- data.frame ("P-value" = spc, "Normality" = nor_spc)
row.names(spc_table) <- "Chlorophyll_Content"
spec_table <- dplyr::bind_rows(spe_table, spc_table)
knitr::kable(spec_table, caption = "Table 4. Shapiro test results for RWC, EL and chlorophyll content", align="c")
| P.value | Normality | |
|---|---|---|
| RWC | 0.0000000 | False |
| Electrolyte_Leakage | 0.0009774 | False |
| Chlorophyll_Content | 0.0000000 | False |
for (i in names(Weight_ion[7:11])) {
bwei3 <- ggboxplot(Weight_ion,
x = "Treat_Contr",
y = names(Weight_ion[i]),
color = names(Weight_ion[3]),
palette = c("blue", "red"),
add = "jitter") +
stat_compare_means(data = Weight_ion, method = "kruskal.test", label.x.npc = "center",
label.y.npc = "top")
print(bwei3)
}
bchlo <- ggboxplot(Chloro_c,
x = "Treat_Contr",
y = "Chlorophyll_Content",
color = names(Chloro_c[3]),
palette = c("blue", "red"),
add = "jitter")
bchlo + stat_compare_means(data = Chloro_c, method = "kruskal.test", label.x.npc = "center",
label.y.npc = "top")
Sodium (Na): Sodium is significantly reduced in the salt-stressed plants compared with the control (p < 0.05). The mean value for Na in salt-stressed plants is 30.03 ± 8.84 and 13.60 ± 5.00 for control plants.
Potassium (K): Potassium is significantly reduced in the salt-stressed plants compared with the control (p < 0.05). The mean value for K in salt-stressed plants is 19.72 ± 7.48 and 15.48 ± 6.09 for control plants.
Calcium (Ca): Calcium is significantly increased in the salt-stressed plants compared with the control (p < 0.05). The mean value for Ca in salt-stressed plants is 9.12 ± 5.32 and 6.03 ± 2.60 for control plants.
Magnesium (Mg): Magnesium is significantly reduced in the salt-stressed plants compared with the control (p < 0.05). The mean value for Mg in salt-stressed plants is 4.37 ± 1.83 and 5.95 ± 2.85 for control plants.
K/Na ratio: K/Na ratio is significantly reduced in the salt-stressed plants compared with the control (p < 0.05). The mean value for K/Na ratio in salt-stressed plants is 0.67 ± 0.20 and 1.20 ± 0.36 for control plants.
spw <- numeric()
nor_spw <- c()
for(i in names(Weight_ion[7:11])) {
an5 <- aov(Weight_ion[, i] ~ Weight_ion$Treat_Contr)
spw[i] <- shapiro.test(an5$residuals)$p.value
nor_spw <- c(nor_spw, ifelse (spw[i] <= 0.05, "False", "True"))
}
spw_table <- data.frame ("P-value" = spw, "Normality" = nor_spw)
knitr::kable(spw_table, caption = "Table 5. Shapiro test results for Mineral ion content", align="c")
| P.value | Normality | |
|---|---|---|
| Na | 0.0002216 | False |
| K | 0.0000000 | False |
| Ca | 0.0000007 | False |
| Mg | 0.0000000 | False |
| K_Na | 0.0000002 | False |
for (i in names(Weight_ion[7:11])) {
bwei3 <- ggboxplot(Weight_ion,
x = "Treat_Contr",
y = names(Weight_ion[i]),
color = names(Weight_ion[3]),
palette = c("blue", "red"),
add = "jitter") +
stat_compare_means(data = Weight_ion, method = "kruskal.test", label.x.npc = "center",
label.y.npc = "top")
print(bwei3)
}
Photosynthesis rate (PR): Photosynthesus rate is significantly reduced in the salt-stressed plants compared with the control (p < 0.05). The mean value for PR in salt-stressed plants is 1.95 ± 1.02 and 7.53 ± 4.84 for control plants.
Intercellular CO2 (ICO2): Intercellular CO2 is not significantly different in the salt-stressed plants compared with the control (p < 0.05). The mean value for ICO2 in salt-stressed plants is 284.70 ± 42.57 and 281.20 ± 22.90 for control plants.
Transpiration rate (TR): Transpiration rate is significantly reduced in the salt-stressed plants compared with the control (p < 0.05). The mean value for TR in salt-stressed plants is 0.94 ± 0.48 and 2.57 ± 1.13 for control plants.
Stomatal conductance (SC): Stomatal conductance is significantly reduced in the salt-stressed plants compared with the control (p < 0.05). The mean value for SC in salt-stressed plants is 0.039 ± 0.02 and 0.15 ± 0.08 for control plants.
spg <- numeric()
nor_spg <- c()
for (i in names(Gas_e[c(4,5,6:7)])) {
an6 <- aov(Gas_e[, i] ~ Gas_e$Treat_Contr)
spg[i] <- shapiro.test(an6$residuals)$p.value
nor_spg <- c(nor_spg, ifelse (spg[i] <= 0.05, "False", "True"))
}
spg_table <- data.frame ("P-value" = spg, "Normality" = nor_spg)
knitr::kable(spg_table, caption = "Table 6. Shapiro test results for gas exchange attributes", align="c")
| P.value | Normality | |
|---|---|---|
| Photsynthesis_Rate | 0.0000139 | False |
| Intercellular_CO2 | 0.8962970 | True |
| Transpiration_Rate | 0.0384559 | False |
| Stomatal_Conductance | 0.0000015 | False |
Gas_e_withoutNA <- na.omit(Gas_e)
for (i in names(Gas_e_withoutNA[c(4,6:7)])) {
bgas <- ggboxplot(Gas_e_withoutNA,
x = "Treat_Contr",
y = names(Gas_e_withoutNA[i]),
color = names(Gas_e_withoutNA[3]),
palette = c("blue", "red"),
add = "jitter") +
stat_compare_means(data = Gas_e_withoutNA, method = "kruskal.test", label.x.npc = "center",label.y.npc = "top")
print(bgas)}
banova <- ggboxplot(Gas_e_withoutNA,
x="Treat_Contr",
y= "Intercellular_CO2",
color = names(Gas_e_withoutNA[3]),
palette = c("blue", "red"),
add = "jitter")
banova + stat_compare_means(method = "anova")
x <- data.frame(dplyr::filter(table, table$Treat_Contr=="Treatment"))
x <- x[-(1:3)]
y <- data.frame(dplyr::filter(table, table$Treat_Contr=="Control"))
y <- y[-(1:3)]
Mean_Treat <- x %>%
summarise(Mean_SL = mean(Shoot_Length),
Mean_SL = mean(Root_Length),
Mean_PH = mean(Plant_Height),
Mean_NL = mean(Number_Leaves),
Mean_LA = mean(Leaf_Area),
Mean_FW = mean(Fresh_Weight),
Mean_DW = mean(Dry_Weight),
Mean_RWC = mean(RWC),
Mean_Na = mean(Na),
Mean_K = mean(K),
Mean_Ca = mean(Ca),
Mean_Mg = mean(Mg),
Mean_K_Na = mean(K_Na),
Mean_EL = mean(Electrolyte_Leakage),
Mean_CC = mean(Chlorophyll_Content),
Mean_PR = mean (Photsynthesis_Rate, na.rm=T),
Mean_ICO2 = mean(Intercellular_CO2, na.rm=T),
Mean_TR = mean(Transpiration_Rate, na.rm=T),
Mean_S = mean(Stomatal_Conductance, na.rm=T))
Mean_Control <- y %>%
summarise(Mean_SL = mean(Shoot_Length),
Mean_SL = mean(Root_Length),
Mean_PH = mean(Plant_Height),
Mean_NL = mean(Number_Leaves),
Mean_LA = mean(Leaf_Area),
Mean_FW = mean(Fresh_Weight),
Mean_DW = mean(Dry_Weight),
Mean_RWC = mean(RWC),
Mean_Na = mean(Na),
Mean_K = mean(K),
Mean_Ca = mean(Ca),
Mean_Mg = mean(Mg),
Mean_K_Na = mean(K_Na),
Mean_EL = mean(Electrolyte_Leakage),
Mean_CC = mean(Chlorophyll_Content),
Mean_PR = mean (Photsynthesis_Rate, na.rm=T),
Mean_ICO2 = mean(Intercellular_CO2, na.rm=T),
Mean_TR = mean(Transpiration_Rate, na.rm=T),
Mean_S = mean(Stomatal_Conductance, na.rm=T))
Treatment <- c('Treatment','Control')
Means <- rbind(Mean_Treat, Mean_Control)
Means$Treat_Contr <- Treatment
Sd_Treatment <- x %>%
summarise(SD_SL = sd(Shoot_Length),
SD_RL = sd(Root_Length),
SD_PH = sd(Plant_Height),
SD_NL = sd(Number_Leaves),
SD_LA = sd(Leaf_Area),
SD_FW = sd(Fresh_Weight),
SD_DW = sd(Dry_Weight),
SD_RWC = sd(RWC),
SD_Na = sd(Na),
SD_K = sd(K),
SD_Ca = sd(Ca),
SD_Mg = sd(Mg),
SD_K_NA = sd(K_Na),
SD_EL = sd(Electrolyte_Leakage),
SD_CC = sd(Chlorophyll_Content),
SD_PR = sd (Photsynthesis_Rate, na.rm=T),
SD_I_CO2 = sd(Intercellular_CO2, na.rm=T),
SD_TR = sd(Transpiration_Rate, na.rm=T),
SD_SC = sd(Stomatal_Conductance, na.rm=T))
Sd_Control <- y %>%
summarise(SD_SL = sd(Shoot_Length),
SD_RL = sd(Root_Length),
SD_PH = sd(Plant_Height),
SD_NL = sd(Number_Leaves),
SD_LA = sd(Leaf_Area),
SD_FW = sd(Fresh_Weight),
SD_DW = sd(Dry_Weight),
SD_RWC = sd(RWC),
SD_Na = sd(Na),
SD_K = sd(K),
SD_Ca = sd(Ca),
SD_Mg = sd(Mg),
SD_K_NA = sd(K_Na),
SD_EL = sd(Electrolyte_Leakage),
SD_CC = sd(Chlorophyll_Content),
SD_PR = sd (Photsynthesis_Rate, na.rm=T),
SD_I_CO2 = sd(Intercellular_CO2, na.rm=T),
SD_TR = sd(Transpiration_Rate, na.rm=T),
SD_SC = sd(Stomatal_Conductance, na.rm=T))
Treatment <- c('Treatment','Control')
SD <- rbind(Sd_Treatment,Sd_Control)
SD$Treat_Contr <- Treatment
knitr::kable(Means, caption = "Table 7. Summary table for the mean of treated and control plants")
| Mean_SL | Mean_PH | Mean_NL | Mean_LA | Mean_FW | Mean_DW | Mean_RWC | Mean_Na | Mean_K | Mean_Ca | Mean_Mg | Mean_K_Na | Mean_EL | Mean_CC | Mean_PR | Mean_ICO2 | Mean_TR | Mean_S | Treat_Contr |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0.98288 | 2.17992 | 2.43456 | 0.03304 | 96.22133 | 6.262533 | 92.76587 | 30.03500 | 19.71913 | 9.120667 | 4.368333 | 0.6673333 | 60.60373 | 14.06147 | 1.947391 | 284.6957 | 0.9404348 | 0.0386957 | Treatment |
| 2.17392 | 4.43336 | 4.22200 | 0.06664 | 241.06840 | 10.582267 | 92.09667 | 13.60367 | 15.48453 | 6.027733 | 5.948000 | 1.1988667 | 56.51267 | 18.17267 | 7.526739 | 281.1957 | 2.5736957 | 0.1458696 | Control |
knitr::kable(SD, caption = "Table 8. Summary table for the standard deviation (SD) of treated and control plants")
| SD_SL | SD_RL | SD_PH | SD_NL | SD_LA | SD_FW | SD_DW | SD_RWC | SD_Na | SD_K | SD_Ca | SD_Mg | SD_K_NA | SD_EL | SD_CC | SD_PR | SD_I_CO2 | SD_TR | SD_SC | Treat_Contr |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0.4802925 | 0.4291682 | 0.7607550 | 0.823898 | 0.0156644 | 66.00101 | 3.997402 | 2.650396 | 8.841386 | 7.478913 | 5.315845 | 1.827305 | 0.1959651 | 9.321449 | 6.022014 | 1.017193 | 42.57340 | 0.475834 | 0.0179150 | Treatment |
| 0.5639478 | 0.4196222 | 0.7721049 | 0.780235 | 0.0254147 | 164.75151 | 6.887152 | 6.997688 | 5.007557 | 6.091253 | 2.606707 | 2.854427 | 0.3648619 | 6.479804 | 4.789543 | 4.839646 | 22.89638 | 1.131070 | 0.0801618 | Control |
# table with all the variables but without 3 first columns
all_data <- na.omit(table[4:23])
res1 <- cor.mtest(all_data, conf.level = .95)
M1 <-cor(all_data)
corrplot(M1, p.mat = res1$p, sig.level = .05, type = "lower")
Figure 3.1. Pearson correlation table for all variables. X represent non-significative correlation (p-value > 0.05)
x <- data.frame(dplyr::filter(table, table$Treat_Contr=="Treatment"))
x <- x[-(1:3)]
y <- data.frame(dplyr::filter(table, table$Treat_Contr=="Control"))
y <- y[-(1:3)]
#salt tolerance index for morphological traits
STI_Shoot_Length <- x[1]/y[1]
STI_Root_Length <- x[2]/y[2]
STI_Plant_Height <- x[3]/y[3]
STI_Number_Leaves <- x[4]/y[4]
STI_Leaf_Area <- x[5]/y[5]
#trying to make a for loop
#STI1 <- data.frame()
#vecteur <- c()
#for (i in names(x)){
# for (j in 1:4){
# name <- paste("STI", i ,sep = "_" )
# name <- x[j]/x[j]
# vecteur <- c(vecteur, name)}}
#salt tolerance index for biomass
STI_Fresh_Weight <- x[6]/y[6]
STI_Dry_Weight <- x[7]/y[7]
#salt tolerance index for RWC, EL and Chlorophyll content
STI_Relative_water_content <- x[8]/y[8]
names(STI_Relative_water_content)[1] <- "Relative_water_content" # change the name of the column of the data
STI_Electrolyte_Leakage <- x[14]/y[14]
STI_Chlorophyll_Content <- x[15]/y[15]
# salt tolerance index for Mineral ion content
STI_Na <- x[9]/y[9]
STI_K <- x[10]/y[10]
STI_Ca <- x[11]/y[11]
STI_Mg <- x[12]/y[12]
STI_K_Na <- x[13]/y[13]
# salt tolerance index for Gas exchange attributes
STI_Photosynthesis_rate <- x[16]/y[16]
STI_Intercellular_CO2 <- x[17]/y[17]
STI_Transpiration_Rate <- x[18]/y[18]
STI_Stomatal_Conductance <- x[19]/y[19]
STI <- data.frame(STI_Shoot_Length,
STI_Root_Length,
STI_Plant_Height,
STI_Number_Leaves,
STI_Leaf_Area,
STI_Fresh_Weight,
STI_Dry_Weight,
STI_Relative_water_content,
STI_Electrolyte_Leakage,
STI_Na,
STI_K,
STI_Ca,
STI_Mg,
STI_K_Na,
STI_Chlorophyll_Content,
STI_Photosynthesis_rate,
STI_Intercellular_CO2,
STI_Transpiration_Rate,
STI_Stomatal_Conductance)
knitr::kable(STI, caption = "Table 4.1. Summary table for salt tolerance index")
| Shoot_Length | Root_Length | Plant_Height | Number_Leaves | Leaf_Area | Fresh_Weight | Dry_Weight | Relative_water_content | Electrolyte_Leakage | Na | K | Ca | Mg | K_Na | Chlorophyll_Content | Photsynthesis_Rate | Intercellular_CO2 | Transpiration_Rate | Stomatal_Conductance | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1.1 | 0.8912355 | 0.6397671 | 0.7407407 | 0.6190476 | 0.6956522 | 0.5012338 | 0.8625796 | 1.1842036 | 0.9481757 | 4.673913 | 1.3245413 | 0.8746888 | 0.9281364 | 0.2824561 | 0.8084896 | 0.3725332 | 0.8583916 | 0.5174051 | 0.3563218 |
| 2.1 | 0.5455830 | 0.6594203 | 0.5068109 | 0.6363636 | 0.5000000 | 0.3398344 | 0.7523677 | 1.2812980 | 1.0102382 | 3.953065 | 1.4744608 | 0.8739300 | 0.8126195 | 0.3735763 | 0.7181102 | 0.6496350 | 1.0626151 | 1.2375691 | 1.0000000 |
| 3.1 | 0.1974957 | 0.1920136 | 0.2569204 | 0.3027273 | 0.0759494 | 0.1019714 | 0.2466527 | 1.1603017 | 1.2178019 | 2.284498 | 1.5078206 | 1.0076112 | 0.9375000 | 0.6530612 | 0.7071429 | 0.0788235 | 0.8881239 | 0.1327751 | 0.0720000 |
| 4.1 | 0.5805727 | 0.7180233 | 0.6326396 | 0.8260870 | 0.4375000 | 0.4774903 | 0.6312320 | 1.0031933 | 1.0765362 | 3.128941 | 1.4041326 | 1.0880893 | 0.7604439 | 0.4489796 | 0.9398422 | 0.2615385 | 0.9784946 | 0.3887324 | 0.2941176 |
| 5.1 | 0.4346774 | 0.5895884 | 0.4631766 | 0.4545455 | 0.8484848 | 0.7639138 | 0.8376289 | 1.0355254 | 1.3243824 | 2.762542 | 1.0798784 | 0.7580340 | 0.6751035 | 0.3922652 | 0.7092059 | 0.2883031 | 1.1160714 | 0.5616836 | 0.2592593 |
| 6.1 | 0.6141575 | 0.7054054 | 0.6148649 | 0.8260870 | 0.3750000 | 0.3125481 | 0.3173846 | 0.9711378 | 0.9810355 | 2.349392 | 1.2147568 | 0.9583333 | 0.7517107 | 0.5198238 | 0.7365854 | 0.2469758 | 1.1190053 | 0.2654639 | 0.1604938 |
| 7.1 | 0.7641026 | 0.5242452 | 0.6591577 | 0.6000000 | 0.7368421 | 0.2985661 | 0.8040881 | 0.9847842 | 1.0683937 | 2.336629 | 1.0196235 | 0.7644593 | 0.7346570 | 0.4330709 | 1.1907478 | NA | NA | NA | NA |
| 8.1 | 0.3086253 | 0.5849057 | 0.4244635 | 0.4800000 | 0.6285714 | 0.3107289 | 0.4988095 | 0.9729330 | 1.1970276 | 2.046184 | 1.2483425 | 0.8205567 | 0.9322093 | 0.6106195 | 0.7074830 | 0.5376532 | 1.1081531 | 0.8280255 | 0.7777778 |
| 9.1 | 0.7061258 | 0.6245520 | 0.6665232 | 0.7500000 | 0.6000000 | 0.8392562 | 0.7816092 | 0.9858376 | 1.1139822 | 1.964433 | 1.2366031 | 1.4981454 | 0.6565325 | 0.6274194 | 1.1429440 | 0.1755889 | 0.9843137 | 0.1965318 | 0.1428571 |
| 10.1 | 0.7718023 | 0.4665012 | 0.6230263 | 0.4400000 | 0.8536585 | 0.4080294 | 0.4489583 | 0.9825059 | 1.0069524 | 3.665535 | 1.3353756 | 1.8146307 | 0.8441433 | 0.3564103 | 0.7020702 | 0.2857955 | 0.9182948 | 0.3548851 | 0.3623188 |
| 11.1 | 0.6143411 | 0.5955649 | 0.5832497 | 0.8181818 | 0.8214286 | 0.7029466 | 0.8826356 | 1.0131178 | 0.9996619 | 1.171353 | 1.1260306 | 1.1241696 | 0.9644747 | 0.9585122 | 0.6530850 | 0.3531202 | 1.1344828 | 0.3829787 | 0.3703704 |
| 12.1 | 0.7705287 | 0.7352587 | 0.6868100 | 0.6818182 | 0.4000000 | 0.7821395 | 0.8580247 | 1.0048024 | 1.0193132 | 1.220186 | 0.8205479 | 1.7769486 | 0.9071938 | 0.6742857 | 0.9170213 | 0.3651407 | 1.1017613 | 0.5875796 | 0.4262295 |
| 13.1 | 0.7205560 | 0.5748599 | 0.6379633 | 0.8000000 | 0.5945946 | 0.3933007 | 0.8412844 | 0.9843384 | 1.0147048 | 2.641426 | 1.0343169 | 1.4672783 | 0.7078189 | 0.3921569 | 0.6055556 | 0.1689189 | 0.7602041 | 0.1854396 | 0.1234568 |
| 14.1 | 0.5388646 | 0.6171096 | 0.5854576 | 0.5714286 | 0.3571429 | 0.3886307 | 0.6150000 | 0.9679176 | 1.1095468 | 2.769071 | 1.4512663 | 2.2868976 | 0.8902148 | 0.5228758 | 0.7039518 | 0.3601359 | 0.9320883 | 0.4835590 | 0.2592593 |
| 15.1 | 0.1673114 | 0.4004955 | 0.3745438 | 0.3368421 | 0.1851852 | 0.1458749 | 0.3050847 | 0.9623137 | 1.0466700 | 1.361111 | 1.3379447 | 1.3552941 | 0.6887417 | 0.9751553 | 0.5820745 | 0.2655039 | 0.6830428 | 0.1347150 | 0.0952381 |
| 16.1 | 0.2872517 | 0.1958406 | 0.2637694 | 0.2895652 | 0.1714286 | 0.4290074 | 0.8201635 | 0.9788952 | 1.0586022 | 2.142991 | 1.4204156 | 2.2103825 | 0.7299742 | 0.6483376 | 0.5970149 | NA | NA | NA | NA |
| 17.1 | 0.2446634 | 0.2021563 | 0.2612958 | 0.2800000 | 0.2894737 | 0.1725975 | 0.2884615 | 0.9644903 | 1.0599136 | 2.632761 | 1.5583658 | 3.1660542 | 0.7332268 | 0.6041667 | 0.6070252 | 0.6666667 | 0.9264706 | 0.3474178 | 0.5263158 |
| 18.1 | 0.1956664 | 0.1590909 | 0.1982964 | 0.3846154 | 0.1621622 | 0.1332756 | 0.3225000 | 0.9176678 | 1.0951118 | 1.540048 | 1.1216572 | 2.7861528 | 0.7603960 | 0.7338129 | 1.2998267 | 0.5008787 | 1.1421569 | 0.7168459 | 0.3703704 |
| 19.1 | 0.5484444 | 0.6816514 | 0.6327913 | 0.9411765 | 0.7142857 | 0.6726554 | 0.7635853 | 1.0186102 | 1.0286753 | 2.615610 | 1.2084392 | 2.6221228 | 0.6307008 | 0.4625850 | 0.8808889 | 0.7505774 | 1.0209059 | 0.1552198 | 0.1851852 |
| 20.1 | 0.1738693 | 0.4141759 | 0.6471132 | 0.5333333 | 0.3157895 | 0.7136095 | 0.8387097 | 1.0340028 | 1.0453706 | 3.529240 | 1.2608368 | 1.6038576 | 0.6960352 | 0.3685567 | 0.6601650 | 0.1377953 | 0.9054622 | 0.1533333 | 0.1230769 |
| 21.1 | 0.2930187 | 0.1722595 | 0.3778626 | 0.6250000 | 0.4500000 | 0.6796849 | 0.7768924 | 1.0045268 | 1.0491827 | 1.803975 | 1.2245062 | 1.4547284 | 0.5526565 | 0.6750000 | 1.6984925 | 0.2113254 | 0.9689781 | 0.2971014 | 0.2323232 |
| 22.1 | 0.6120603 | 0.3154907 | 0.4909931 | 0.5882353 | 0.8571429 | 0.7436083 | 0.6534979 | 0.9949697 | 1.1884034 | 1.687400 | 1.2295189 | 1.4203516 | 0.8420735 | 0.7324561 | 0.4223003 | 0.2919109 | 1.0617761 | 0.6226415 | 0.5217391 |
| 23.1 | 0.3644752 | 0.2955556 | 0.3299377 | 0.6666667 | 0.6400000 | 0.2726450 | 0.8100000 | 0.9623571 | 1.0422465 | 1.544219 | 1.5155393 | 1.1520648 | 0.7255521 | 0.9841270 | 0.4108527 | 0.1536174 | 1.0731707 | 0.4244373 | 0.4000000 |
| 24.1 | 0.5350501 | 0.3480114 | 0.4440535 | 0.5333333 | 0.8000000 | 0.6160173 | 0.4104348 | 0.9850878 | 1.1019697 | 2.048939 | 1.3736817 | 1.1574557 | 0.3929825 | 0.6721854 | 0.6623681 | 0.2011173 | 1.3056058 | 0.4013158 | 0.4347826 |
| 25.1 | 0.4878661 | 0.2348651 | 0.3546893 | 0.6666667 | 1.0000000 | 0.4188665 | 0.8152585 | 0.9636486 | 0.9610544 | 2.716135 | 1.8820856 | 2.0229358 | 0.8764309 | 0.6875000 | 0.6529412 | 0.3127753 | 1.3176692 | 0.3857868 | 0.4800000 |
#Membership function value
# 1-results for the traits inversely related to salt tolerance: which are electrolyte leakage, Na, K and Ca
MFV <- STI %>%
mutate(SL = (STI$Shoot_Length - min(STI$Shoot_Length))/(max(STI$Shoot_Length)- min(STI$Shoot_Length)),
RL = (STI$Root_Length - min(STI$Root_Length))/(max(STI$Root_Length)- min(STI$Root_Length)),
PH = (STI$Plant_Height - min(STI$Plant_Height))/(max(STI$Plant_Height)- min(STI$Plant_Height)),
NL = (STI$Number_Leaves - min(STI$Number_Leaves))/(max(STI$Number_Leaves)- min(STI$Number_Leaves)),
LA = (STI$Leaf_Area - min(STI$Leaf_Area))/(max(STI$Leaf_Area)- min(STI$Leaf_Area)),
FW = (STI$Fresh_Weight - min(STI$Fresh_Weight))/(max(STI$Fresh_Weight)- min(STI$Fresh_Weight)) ,
DW = (STI$Dry_Weight - min(STI$Dry_Weight))/(max(STI$Dry_Weight)- min(STI$Dry_Weight)),
RWC = (STI$Relative_water_content - min(STI$Relative_water_content))/(max(STI$Relative_water_content)- min(STI$Relative_water_content)),
EL = 1-(STI$Electrolyte_Leakage - min(STI$Electrolyte_Leakage))/(max(STI$Electrolyte_Leakage)- min(STI$Electrolyte_Leakage)),
CC = (STI$Chlorophyll_Content - min(STI$Chlorophyll_Content))/(max(STI$Chlorophyll_Content)- min(STI$Chlorophyll_Content)),
Na = 1-(STI$Na - min(STI$Na))/(max(STI$Na)- min(STI$Na)),
K = 1-(STI$K - min(STI$K))/(max(STI$K)- min(STI$K)),
Ca =1- (STI$Ca - min(STI$Ca))/(max(STI$Ca)- min(STI$Ca)),
Mg=(STI$Mg - min(STI$Mg))/(max(STI$Mg)- min(STI$Mg)),
K_Na= (STI$K_Na - min(STI$K_Na))/(max(STI$K_Na)- min(STI$K_Na)),
PR= (STI$Photsynthesis_Rate - min(STI$Photsynthesis_Rate, na.rm=T))/(max(STI$Photsynthesis_Rate, na.rm=T)- min(STI$Photsynthesis_Rate, na.rm=T)),
ICO2= (STI$Intercellular_CO2 - min(STI$Intercellular_CO2, na.rm=T))/(max(STI$Intercellular_CO2, na.rm=T)- min(STI$Intercellular_CO2, na.rm=T)),
TR= (STI$Transpiration_Rate - min(STI$Transpiration_Rate, na.rm=T))/(max(STI$Transpiration_Rate, na.rm=T)- min(STI$Transpiration_Rate, na.rm=T)),
SC= (STI$Stomatal_Conductance - min(STI$Stomatal_Conductance, na.rm=T))/(max(STI$Stomatal_Conductance, na.rm=T)- min(STI$Stomatal_Conductance, na.rm=T)))%>%
select(SL, RL, PH, NL, LA, FW, DW, RWC, EL, CC, Na, K, Ca, Mg, K_Na, PR, ICO2, TR, SC)
knitr::kable(MFV, caption = "Table 5.1. MFV table based on STI", align="c")
| SL | RL | PH | NL | LA | FW | DW | RWC | EL | CC | Na | K | Ca | Mg | K_Na | PR | ICO2 | TR | SC |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1.0000000 | 0.8342641 | 1.0000000 | 0.5127944 | 0.6706373 | 0.5415308 | 0.9684647 | 0.7329858 | 1.0000000 | 0.3088107 | 0.0000000 | 0.5252233 | 0.9515557 | 0.9364151 | 0.0000000 | 0.4372282 | 0.2763024 | 0.3481463 | 0.3063813 |
| 0.5225294 | 0.8683744 | 0.5687487 | 0.5389841 | 0.4589041 | 0.3226203 | 0.7951708 | 1.0000000 | 0.8350309 | 0.2386207 | 0.2058062 | 0.3839946 | 0.9518709 | 0.7342830 | 0.1298617 | 0.8497332 | 0.5981036 | 1.0000000 | 1.0000000 |
| 0.0416954 | 0.0571408 | 0.1080738 | 0.0343740 | 0.0000000 | 0.0000000 | 0.0000000 | 0.6672545 | 0.2833031 | 0.2301033 | 0.6821910 | 0.3525687 | 0.8963558 | 0.9527996 | 0.5281751 | 0.0000000 | 0.3231526 | 0.0000000 | 0.0000000 |
| 0.5708628 | 0.9700860 | 0.8007147 | 0.8259322 | 0.3912671 | 0.5093267 | 0.6047008 | 0.2351993 | 0.6588033 | 0.4108210 | 0.4410979 | 0.4502459 | 0.8629350 | 0.6429858 | 0.2373242 | 0.2719969 | 0.4655524 | 0.2316787 | 0.2393509 |
| 0.3693288 | 0.7471738 | 0.4883085 | 0.2639922 | 0.8360315 | 0.8978110 | 0.9292329 | 0.3241139 | 0.0000000 | 0.2317055 | 0.5457070 | 0.7557030 | 1.0000000 | 0.4936569 | 0.1564965 | 0.3118398 | 0.6823363 | 0.3882249 | 0.2017880 |
| 0.6172555 | 0.9481864 | 0.7679469 | 0.8259322 | 0.3236301 | 0.2856111 | 0.1112167 | 0.1470450 | 0.9126550 | 0.2529688 | 0.6636635 | 0.6286436 | 0.9168199 | 0.6277044 | 0.3382892 | 0.2503183 | 0.6869594 | 0.1201028 | 0.0953597 |
| 0.8243836 | 0.6337638 | 0.8496011 | 0.4839858 | 0.7152127 | 0.2666469 | 0.8764943 | 0.1845734 | 0.6804469 | 0.6056780 | 0.6673075 | 0.8124649 | 0.9973317 | 0.5978639 | 0.2146515 | NA | NA | NA | NA |
| 0.1952055 | 0.7390464 | 0.4169407 | 0.3024911 | 0.5980431 | 0.2831436 | 0.3964837 | 0.1519818 | 0.3385234 | 0.2303674 | 0.7502312 | 0.5970048 | 0.9740356 | 0.9435420 | 0.4676884 | 0.6830325 | 0.6698591 | 0.6293032 | 0.7605364 |
| 0.7442969 | 0.8078568 | 0.8631795 | 0.7108541 | 0.5671233 | 1.0000000 | 0.8411492 | 0.1874700 | 0.5592676 | 0.5685529 | 0.7735715 | 0.6080637 | 0.6926474 | 0.4611611 | 0.4916311 | 0.1440488 | 0.4747217 | 0.0577091 | 0.0763547 |
| 0.8350198 | 0.5335430 | 0.7829926 | 0.2419929 | 0.8416305 | 0.4151151 | 0.3180992 | 0.1783078 | 0.8437650 | 0.2261638 | 0.2878975 | 0.5150171 | 0.5612177 | 0.7894435 | 0.1053972 | 0.3081068 | 0.3706938 | 0.2010420 | 0.3128436 |
| 0.6175091 | 0.7575467 | 0.7096642 | 0.8139761 | 0.8067515 | 0.8151195 | 1.0000000 | 0.2624920 | 0.8631439 | 0.1881211 | 1.0000000 | 0.7122262 | 0.8479516 | 1.0000000 | 0.9634945 | 0.4083292 | 0.7113476 | 0.2264708 | 0.3215198 |
| 0.8332604 | 1.0000000 | 0.9005783 | 0.6077321 | 0.3506849 | 0.9225310 | 0.9613026 | 0.2396242 | 0.8109084 | 0.3930980 | 0.9860579 | 1.0000000 | 0.5768663 | 0.8997697 | 0.5584236 | 0.4262233 | 0.6597874 | 0.4116645 | 0.3817128 |
| 0.7642301 | 0.7216109 | 0.8105291 | 0.7864769 | 0.5612736 | 0.3951381 | 0.9349807 | 0.1833474 | 0.8231580 | 0.1512091 | 0.5802862 | 0.7986233 | 0.7054658 | 0.5509025 | 0.1563421 | 0.1341196 | 0.1215854 | 0.0476690 | 0.0554491 |
| 0.5132489 | 0.7949398 | 0.7137344 | 0.4407728 | 0.3043053 | 0.3888040 | 0.5791780 | 0.1381892 | 0.5710574 | 0.2276250 | 0.5438428 | 0.4058446 | 0.3650952 | 0.8700597 | 0.3426388 | 0.4187730 | 0.3924285 | 0.3175107 | 0.2017880 |
| 0.0000000 | 0.4189831 | 0.3249133 | 0.0859712 | 0.1182141 | 0.0595475 | 0.0918767 | 0.1227783 | 0.7381909 | 0.1329734 | 0.9458231 | 0.5125969 | 0.7519705 | 0.5175211 | 0.9872138 | 0.2778999 | 0.0000000 | 0.0017559 | 0.0250411 |
| 0.1656807 | 0.0637829 | 0.1206998 | 0.0144670 | 0.1033268 | 0.4435681 | 0.9017708 | 0.1683783 | 0.7064738 | 0.1445763 | 0.7225921 | 0.4349068 | 0.3968703 | 0.5896698 | 0.5214432 | NA | NA | NA | NA |
| 0.1068509 | 0.0747446 | 0.1161398 | 0.0000000 | 0.2310743 | 0.0957922 | 0.0657389 | 0.1287642 | 0.7029881 | 0.1523505 | 0.5827600 | 0.3049537 | 0.0000000 | 0.5953613 | 0.4584921 | 0.8750871 | 0.3835766 | 0.1942830 | 0.4895644 |
| 0.0391685 | 0.0000000 | 0.0000000 | 0.1582261 | 0.0932988 | 0.0424588 | 0.1192599 | 0.0000000 | 0.6094273 | 0.6903903 | 0.8947355 | 0.7163462 | 0.1577650 | 0.6429022 | 0.6432600 | 0.6282885 | 0.7234399 | 0.5286694 | 0.3215198 |
| 0.5264821 | 0.9069588 | 0.8009945 | 1.0000000 | 0.6908023 | 0.7740346 | 0.8128090 | 0.2775962 | 0.7860230 | 0.3650370 | 0.5876568 | 0.6345949 | 0.2258833 | 0.4159607 | 0.2567142 | 1.0000000 | 0.5323812 | 0.0203157 | 0.1219668 |
| 0.0090589 | 0.4427269 | 0.8273969 | 0.3831554 | 0.2595530 | 0.8295818 | 0.9309323 | 0.3199268 | 0.7416450 | 0.1936196 | 0.3268105 | 0.5852348 | 0.6487473 | 0.5302833 | 0.1227079 | 0.0877877 | 0.3504730 | 0.0186082 | 0.0550398 |
| 0.1736470 | 0.0228555 | 0.3310315 | 0.5217972 | 0.4047945 | 0.7835690 | 0.8337327 | 0.2388663 | 0.7315120 | 1.0000000 | 0.8193829 | 0.6194593 | 0.7106775 | 0.2793985 | 0.5594416 | 0.1972477 | 0.4505569 | 0.1487393 | 0.1727621 |
| 0.6143585 | 0.2714483 | 0.5395884 | 0.4661922 | 0.8454012 | 0.8702701 | 0.6397110 | 0.2125838 | 0.3614476 | 0.0088903 | 0.8526658 | 0.6147372 | 0.7249535 | 0.7858219 | 0.6413263 | 0.3172105 | 0.5967815 | 0.4434007 | 0.4846327 |
| 0.2723542 | 0.2368488 | 0.2426817 | 0.5848161 | 0.6104110 | 0.2314894 | 0.8857901 | 0.1228976 | 0.7499491 | 0.0000000 | 0.8935448 | 0.3452975 | 0.8363673 | 0.5819320 | 1.0000000 | 0.1113413 | 0.6147364 | 0.2639969 | 0.3534483 |
| 0.5079796 | 0.3278914 | 0.4530549 | 0.3831554 | 0.7835616 | 0.6972148 | 0.2575259 | 0.1854081 | 0.5911980 | 0.1953306 | 0.7494444 | 0.4789316 | 0.8341286 | 0.0000000 | 0.5554304 | 0.1820515 | 0.9809914 | 0.2430686 | 0.3909295 |
| 0.4428015 | 0.1315140 | 0.2883114 | 0.5848161 | 1.0000000 | 0.4298137 | 0.8940584 | 0.1264494 | 0.9657671 | 0.1880095 | 0.5589565 | 0.0000000 | 0.4747130 | 0.8459405 | 0.5772562 | 0.3482701 | 1.0000000 | 0.2290126 | 0.4396552 |
####------PCA on MFV-------###
#doing the PCA, adding the scaling into the function
MFV_salt.pca <- prcomp((na.omit(MFV[-c(8, 17, 20)])), scale. = TRUE)
#results of the PCA
MFV_salt.pca$sdev
## [1] 2.1959249 1.6698449 1.3565852 1.2856275 1.2158618 1.1326328 0.9173147
## [8] 0.8378035 0.7115879 0.6292612 0.4811136 0.4495871 0.3451879 0.2533067
## [15] 0.2128659 0.1474844 0.0741877
summary(MFV_salt.pca)
## Importance of components:
## PC1 PC2 PC3 PC4 PC5 PC6 PC7
## Standard deviation 2.1959 1.6698 1.3566 1.28563 1.21586 1.13263 0.9173
## Proportion of Variance 0.2837 0.1640 0.1082 0.09723 0.08696 0.07546 0.0495
## Cumulative Proportion 0.2837 0.4477 0.5559 0.65315 0.74011 0.81558 0.8651
## PC8 PC9 PC10 PC11 PC12 PC13 PC14
## Standard deviation 0.83780 0.71159 0.62926 0.48111 0.44959 0.34519 0.25331
## Proportion of Variance 0.04129 0.02979 0.02329 0.01362 0.01189 0.00701 0.00377
## Cumulative Proportion 0.90636 0.93615 0.95944 0.97306 0.98495 0.99196 0.99573
## PC15 PC16 PC17
## Standard deviation 0.21287 0.14748 0.07419
## Proportion of Variance 0.00267 0.00128 0.00032
## Cumulative Proportion 0.99840 0.99968 1.00000
#check, if the sums equal to quantity of observations (=17)
sum((MFV_salt.pca$sdev)^2)
## [1] 17
#plotting the results in order to evaluate the principal components
MFV_plot <- screeplot(MFV_salt.pca,
npcs = length(MFV_salt.pca$sdev),
type = "lines")
#plotting the results of the PCA
library(ggplot2)
#install.packages("ggfortify")
library(ggfortify)
#making a scatterplot of PC1 and PC2
#creating data.frame for data labels in future plot
MFV_labels <- data.frame(Acc_loc$Elevation[-c(7, 16)])
row.names(MFV_labels) <- paste0("Ess-", c(1:6, 8:15, 17:25))
#creating the plot
MFV_pc12 <- autoplot(MFV_salt.pca, loadings = TRUE, loadings.colour = 'blue',
loadings.label = TRUE, loadings.label.size = 5, #plotting the variables
data = MFV_labels, shape = FALSE, label.size = 3, #plotting the accessions
frame = TRUE) #plotting the frame (to see if there are any groups)
MFV_pc12 + ggtitle("Scatterplot of PC1 and PC2") #adding the title
#putting absolute values of the loading scores from PCA1 into a vector
MFV_loading_scores <- abs(MFV_salt.pca$rotation[,1])
#ranking the variables
MFV_var_scores_ranked <- sort(MFV_loading_scores, decreasing = TRUE)
# We used 8 highest ranked variables to include in the final MFV-based ranking
# of salt tolerance accessions
print(MFV_var_scores_ranked) # Result from PCA analysis (from PCA_analysis.R)
## PH SL RL NL DW FW
## 0.4179220239 0.3843371322 0.3655251106 0.3440154296 0.3304446450 0.3118996483
## LA K_Na Na K Ca EL
## 0.2467265352 0.2306101451 0.1746912100 0.1736000724 0.1438780842 0.1395916180
## Mg TR SC PR CC
## 0.0455479807 0.0433627723 0.0156462600 0.0100021446 0.0005731188
MFV <- MFV %>%
mutate(Mean = rowMeans(MFV[c(1:7, 15)], na.rm=T))%>%
select(SL, RL, PH, NL, LA, FW, DW, RWC, EL, CC, Na, K, Ca, Mg, K_Na, PR, ICO2, TR, SC, Mean)
MFV_Ranked <- MFV[order(-MFV$Mean),]
MFV_Ranked <- MFV_Ranked[20]
MFV_Ranked$Category <- c("Highly tolerant",(rep("Tolerant", 5)), (rep("Moderately tolerant", 13)), (rep("Sensitive", 5)), "Highly sensitive")
knitr::kable(MFV_Ranked, caption = "Table 7.1. Salt tolerance ranking based on MFV mean from 8 variables identified by PCA", align="c")
| Mean | Category | |
|---|---|---|
| 11 | 0.8105077 | Highly tolerant |
| 12 | 0.7668141 | Tolerant |
| 9 | 0.7532614 | Tolerant |
| 19 | 0.7210994 | Tolerant |
| 1 | 0.6909614 | Tolerant |
| 13 | 0.6413227 | Tolerant |
| 4 | 0.6137768 | Moderately tolerant |
| 22 | 0.6110370 | Moderately tolerant |
| 7 | 0.6080925 | Moderately tolerant |
| 5 | 0.5860469 | Moderately tolerant |
| 25 | 0.5435714 | Moderately tolerant |
| 6 | 0.5272585 | Moderately tolerant |
| 2 | 0.5256492 | Moderately tolerant |
| 14 | 0.5097027 | Moderately tolerant |
| 10 | 0.5092238 | Moderately tolerant |
| 23 | 0.5080489 | Moderately tolerant |
| 24 | 0.4957268 | Moderately tolerant |
| 20 | 0.4756391 | Moderately tolerant |
| 21 | 0.4538586 | Moderately tolerant |
| 8 | 0.4248803 | Sensitive |
| 16 | 0.2918424 | Sensitive |
| 15 | 0.2608400 | Sensitive |
| 17 | 0.1436041 | Sensitive |
| 18 | 0.1369590 | Sensitive |
| 3 | 0.0961824 | Highly sensitive |
#table with MFV from 8 important variables of PCA
important_var <- na.omit(MFV)
important_var <- MFV[c(1:7, 15)]
#make the dendogram
dend <- important_var %>% # change MFV_Ranked with important_var in function of professor answer
scale %>%
dist(method = "euclidean") %>%
hclust(method = "ward.D2") %>%
as.dendrogram %>%
set("branches_k_color",
value = c("red", "orange","blue", "green"),
k = 4)
#plot dendogram
dend %>% plot(main = "MFV Dendrogram")
Figure 8.1. The MFV dendogram based on 8 variables identified by PCA
The priliminary results, despite being slightly different from that in the article produced the ranking that corresponds to the groups (Highly tolerant - Highly sensitive) outlined in the article.
The analysis is not yet completed, so conclusions will be drawn later.